On Tue, Nov 8, 2016 at 1:23 PM, Uvindra Dias Jayasinha <[email protected]>
wrote:

>
>
> On 8 November 2016 at 11:10, Lahiru Cooray <[email protected]> wrote:
>
>>
>>
>> On Thu, Nov 3, 2016 at 4:01 PM, Uvindra Dias Jayasinha <[email protected]>
>> wrote:
>>
>>> Hi All,
>>>
>>> Currently APIs have a few resources such as Swagger File, Optional WSDL
>>> file, Related Documents file and an Optional Thumbnail image that needs to
>>> be stored as blobs in the DB.
>>>
>>> Initially we thought of having separate tables to store these resources,
>>> but what if we have a single generic resource table to store all these?
>>>
>>> We could have schema such as below for the generic resource table
>>>
>>>
>>> ​Since we previously stored our resources in the registry, a similar
>>> generic schema was used to store all such resources by the registry itself.
>>> So anything that is not a text data type can be considered as a BLOB.
>>>
>>> The advantages of doing this are,
>>>
>>> 1. Can manage all API related resources from a central table without
>>> having to define custom tables for each resource.
>>>
>>  +1
>>
>>> 2. When an API is deleted its very easy to locate and remove all the
>>> resources related with it
>>>
>>  +1
>>
>>> 3. When a new version of an API is created its very easy to copy over
>>> the resources associated with the previous version to the new one.
>>>
>> Do we have a new API_ID for each version or do we have multiple version
>> no's against an API_ID? Then we need to maintain Version also as another
>> column
>>
>
> A new API version will have a new API_ID.
>
>>
>>
>>> WDYT?
>>> ​
>>>
>> +1 for the idea.
>> Also is DATA_TYPE mean the file extension? if so I suggest to rename the
>> name and also keep the file name as another column.
>>
>
> In some case we are saving URLs with DATA_TYPE column as TEXT so those
> aren't files. To be generic its better to  keep this as DATA_TYPE
>

In that case I have a different suggestion. Im not sure if maintaining
irrelevant data in same column is a good practice.
Can't we maintain the file type (eg: binary or inline) in the resources
types table which Akalanka suggested?
And in this transaction table, if the file type is inline we could store
the url in a separate column and if the file type is a binary we could
store binary value/file name/extension in separate columns.


>>> --
>>> Regards,
>>> Uvindra
>>>
>>> Mobile: 777733962
>>>
>>> _______________________________________________
>>> Architecture mailing list
>>> [email protected]
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>>
>> --
>> *Lahiru Cooray*
>> Software Engineer
>> WSO2, Inc.;http://wso2.com/
>> lean.enterprise.middleware
>>
>> Mobile: +94 715 654154
>>
>> _______________________________________________
>> Architecture mailing list
>> [email protected]
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> Regards,
> Uvindra
>
> Mobile: 777733962
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
*Lahiru Cooray*
Software Engineer
WSO2, Inc.;http://wso2.com/
lean.enterprise.middleware

Mobile: +94 715 654154
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to