On Fri, May 23, 2014 at 2:45 AM, Marc Delisle <marc(a)infomarc.info> wrote:
Le 2014-05-22 15:25, Smita a écrit :
On Thu, May 22, 2014 at 10:44 PM, Marc Delisle <marc(a)infomarc.info
<mailto:marc@infomarc.info>> wrote:
Hi Smita,
I was under the impression that the central list of columns would be
authoritative, regarding the column attributes. Currently, it seems
that
the table itself has priority.
For example, if a column is described in the central list as being
VARCHAR(40), and the same column name exists in a table, but with
VARCHAR(45), I would expect a sync operation to adjust the column's
size
to the "official" 40. On the
contrary, the central list is modified
when doing the sync.
Hi Marc,
In my opinion, changing type without user consent is not a good idea.
there might be a case that, in one table let say 'id' field needs INT
but in another table which expected to have lot more rows will need
field 'id' to be of type BIGINT. So in this case if system changes
BIGINT to INT, it would be big problem. If I understood you correctly.
In this case, in the central list, 'id' should be defined as BIGINT, and
the central definition should be the one that is applied to a table,
when someone asks to synchronize this table.
Now, what kind of user confirmation should be asked in this case, is up
to you.
Maybe, calling this feature "Sync" is misleading, and we need two
different features. One that would populate the central list, starting
from a particular table (but should notify the user in case a column
name already exists in the central list).
We can just say, Add unique columns to central list instead of saying
"Sync" .
So if user chooses a table to add its columns to the central, and some
column of this table already exist in the central then we show columns
col1, col3 already exist so is not updated ?
And another feature that applies the central list definitions to a
chosen table (or just verifies and notifies the user
if a central
definition is found for one of the columns in this table).
Or, am I mistaken with the goal of the sync
feature?
I think my understanding of the problem [0] is somewhat different from
what you have understood. What I understood from the problem that some
of the already existing columns from the database, we keep in a central
list. and then while making a new table or adding a new column to a
existing table, from the central list we can pick a column using option
on UI which autopopulate all the fields for new column being added. So
if there is already a existing column let say 'product_id', while adding
new similar column in some table user won't use prod_id or something
similar with different attributes, they can just select 'product_id'
from central list. It also saves user from filling all the necessary
fields.
Yes, but this will be done in a different task in your schedule, correct?
Yes you are right, I'll start that in coming week. All that i have done so
far is just to populate the central list. In that also, eliminating
duplicates, showing appropriate messages while adding/removing column,
writing documentation for the new configuration directive still need to be
done for this week.
So in my
implementation Syncing a table meant: just adding columns with
unique attributes ( not matching with any other column in central list )
of that table in the central list.
Please try the case when a column already exists in the central list. In
my test, this column was updated in the central list but it's not always
the best thing to do,
Ok. So if a column is already existing and user tries to add same column
again, We will show error saying column already exist. If they still want
to update, they need to first remove that column and then add ?.
Similarly if a columns has never added and being tried to remove, we show
error saying column doesn't exist in central list.
Please let me know if I'm interpreting the problem[0] wrongly.
[0]
http://sourceforge.net/p/phpmyadmin/feature-requests/1477/
--
Marc Delisle | phpMyAdmin
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform
available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Phpmyadmin-devel mailing list
Phpmyadmin-devel(a)lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel