let me know when you change. i can test again...  

On Saturday, December 22, 2012 2:40:19 PM UTC-5, Massimo Di Pierro wrote:
>
> This is not exactly what I was hoping for but it shows a problem with 
> trunk.
>
> It migrates is_active form notnull=False to notnull=True and then tries to 
> copy the old data (which include Null values).
>
> This will break the migration. It worked for you because the step was only 
> faked. The creation of the new table is never a problem.
>
> I have reverted the change in trunk.
>
> Massimo
>
>
> On Saturday, 22 December 2012 13:28:13 UTC-6, Adi wrote:
>>
>>
>> My app was in a fake migration mode, and when I enabled a migration it 
>> wanted to re-ecreate two existing tables, one regular (pmt), the other 
>> archive (customer_archive)... (sql.log bellow). 
>>
>> I renamed existing tables in order to proceed... 
>>
>> What I see is that archive table got created with is_active notnull, and 
>> default T, while existing tables stayed as is... 
>>
>> Tried updating record in customer table and all worked ok... 
>>
>>
>> sql.log:
>>
>> timestamp: 2012-12-22T13:57:59.269217
>> ALTER TABLE lookup ADD is_active__tmp CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE lookup SET is_active__tmp=is_active;
>> faked!
>> ALTER TABLE lookup DROP COLUMN is_active;
>> faked!
>> ALTER TABLE lookup ADD is_active CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE lookup SET is_active=is_active__tmp;
>> faked!
>> ALTER TABLE lookup DROP COLUMN is_active__tmp;
>> faked!
>> timestamp: 2012-12-22T13:57:59.298807
>> ALTER TABLE comment ADD is_active__tmp CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE comment SET is_active__tmp=is_active;
>> faked!
>> ALTER TABLE comment DROP COLUMN is_active;
>> faked!
>> ALTER TABLE comment ADD is_active CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE comment SET is_active=is_active__tmp;
>> faked!
>> ALTER TABLE comment DROP COLUMN is_active__tmp;
>> faked!
>> timestamp: 2012-12-22T13:57:59.342240
>> ALTER TABLE configuration ADD is_active__tmp CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE configuration SET is_active__tmp=is_active;
>> faked!
>> ALTER TABLE configuration DROP COLUMN is_active;
>> faked!
>> ALTER TABLE configuration ADD is_active CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE configuration SET is_active=is_active__tmp;
>> faked!
>> ALTER TABLE configuration DROP COLUMN is_active__tmp;
>> faked!
>> timestamp: 2012-12-22T13:57:59.375178
>> ALTER TABLE supplier ADD is_active__tmp CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE supplier SET is_active__tmp=is_active;
>> faked!
>> ALTER TABLE supplier DROP COLUMN is_active;
>> faked!
>> ALTER TABLE supplier ADD is_active CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE supplier SET is_active=is_active__tmp;
>> faked!
>> ALTER TABLE supplier DROP COLUMN is_active__tmp;
>> faked!
>> timestamp: 2012-12-22T13:57:59.415936
>> ALTER TABLE customer ADD is_active__tmp CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE customer SET is_active__tmp=is_active;
>> faked!
>> ALTER TABLE customer DROP COLUMN is_active;
>> faked!
>> ALTER TABLE customer ADD is_active CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE customer SET is_active=is_active__tmp;
>> faked!
>> ALTER TABLE customer DROP COLUMN is_active__tmp;
>> faked!
>> timestamp: 2012-12-22T13:57:59.464933
>> ALTER TABLE next_po_number ADD is_active__tmp CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE next_po_number SET is_active__tmp=is_active;
>> faked!
>> ALTER TABLE next_po_number DROP COLUMN is_active;
>> faked!
>> ALTER TABLE next_po_number ADD is_active CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE next_po_number SET is_active=is_active__tmp;
>> faked!
>> ALTER TABLE next_po_number DROP COLUMN is_active__tmp;
>> faked!
>> timestamp: 2012-12-22T13:57:59.511872
>> ALTER TABLE purchase_order ADD is_active__tmp CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE purchase_order SET is_active__tmp=is_active;
>> faked!
>> ALTER TABLE purchase_order DROP COLUMN is_active;
>> faked!
>> ALTER TABLE purchase_order ADD is_active CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE purchase_order SET is_active=is_active__tmp;
>> faked!
>> ALTER TABLE purchase_order DROP COLUMN is_active__tmp;
>> faked!
>> timestamp: 2012-12-22T13:57:59.618962
>> ALTER TABLE product_family ADD is_active__tmp CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE product_family SET is_active__tmp=is_active;
>> faked!
>> ALTER TABLE product_family DROP COLUMN is_active;
>> faked!
>> ALTER TABLE product_family ADD is_active CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE product_family SET is_active=is_active__tmp;
>> faked!
>> ALTER TABLE product_family DROP COLUMN is_active__tmp;
>> faked!
>> timestamp: 2012-12-22T13:57:59.650635
>> ALTER TABLE sku ADD is_active__tmp CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE sku SET is_active__tmp=is_active;
>> faked!
>> ALTER TABLE sku DROP COLUMN is_active;
>> faked!
>> ALTER TABLE sku ADD is_active CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE sku SET is_active=is_active__tmp;
>> faked!
>> ALTER TABLE sku DROP COLUMN is_active__tmp;
>> faked!
>> timestamp: 2012-12-22T13:57:59.688207
>> ALTER TABLE item ADD is_active__tmp CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE item SET is_active__tmp=is_active;
>> faked!
>> ALTER TABLE item DROP COLUMN is_active;
>> faked!
>> ALTER TABLE item ADD is_active CHAR(1) NOT NULL DEFAULT 'T';
>> faked!
>> UPDATE item SET is_active=is_active__tmp;
>> faked!
>> ALTER TABLE item DROP COLUMN is_active__tmp;
>> faked!
>> timestamp: 2012-12-22T14:05:28.630734
>> CREATE TABLE pmt(
>>     id INT AUTO_INCREMENT NOT NULL,
>>     tbl_uuid VARCHAR(64),
>>     po_id INT, INDEX po_id__idx (po_id), FOREIGN KEY (po_id) REFERENCES 
>> purchase_order (id) ON DELETE CASCADE,
>>     currency VARCHAR(255),
>>     invoice_no VARCHAR(255),
>>     amount_paid DOUBLE,
>>     date_wire_actg DATE,
>>     partial_payment VARCHAR(255),
>>     amount_paid2 DOUBLE,
>>     date_to_actg2 DATE,
>>     amount_paid3 DOUBLE,
>>     date_to_actg3 DATE,
>>     amount_paid4 DOUBLE,
>>     date_to_actg4 DATE,
>>     payment_notes1 LONGTEXT,
>>     payment_notes2 LONGTEXT,
>>     payment_notes3 LONGTEXT,
>>     is_active CHAR(1) NOT NULL DEFAULT 'T',
>>     created_on DATETIME,
>>     created_by INT, INDEX created_by__idx (created_by), FOREIGN KEY 
>> (created_by) REFERENCES auth_user (id) ON DELETE CASCADE,
>>     modified_on DATETIME,
>>     modified_by INT, INDEX modified_by__idx (modified_by), FOREIGN KEY 
>> (modified_by) REFERENCES auth_user (id) ON DELETE CASCADE,
>>     PRIMARY KEY(id)
>> ) ENGINE=InnoDB CHARACTER SET utf8;
>> timestamp: 2012-12-22T14:11:13.034603
>> CREATE TABLE pmt(
>>     id INT AUTO_INCREMENT NOT NULL,
>>     tbl_uuid VARCHAR(64),
>>     po_id INT, INDEX po_id__idx (po_id), FOREIGN KEY (po_id) REFERENCES 
>> purchase_order (id) ON DELETE CASCADE,
>>     currency VARCHAR(255),
>>     invoice_no VARCHAR(255),
>>     amount_paid DOUBLE,
>>     date_wire_actg DATE,
>>     partial_payment VARCHAR(255),
>>     amount_paid2 DOUBLE,
>>     date_to_actg2 DATE,
>>     amount_paid3 DOUBLE,
>>     date_to_actg3 DATE,
>>     amount_paid4 DOUBLE,
>>     date_to_actg4 DATE,
>>     payment_notes1 LONGTEXT,
>>     payment_notes2 LONGTEXT,
>>     payment_notes3 LONGTEXT,
>>     is_active CHAR(1) NOT NULL DEFAULT 'T',
>>     created_on DATETIME,
>>     created_by INT, INDEX created_by__idx (created_by), FOREIGN KEY 
>> (created_by) REFERENCES auth_user (id) ON DELETE CASCADE,
>>     modified_on DATETIME,
>>     modified_by INT, INDEX modified_by__idx (modified_by), FOREIGN KEY 
>> (modified_by) REFERENCES auth_user (id) ON DELETE CASCADE,
>>     PRIMARY KEY(id)
>> ) ENGINE=InnoDB CHARACTER SET utf8;
>> success!
>> timestamp: 2012-12-22T14:16:04.319236
>> CREATE TABLE customer_archive(
>>     current_record INT, INDEX current_record__idx (current_record), FOREIGN 
>> KEY (current_record) REFERENCES customer (id) ON DELETE CASCADE,
>>     id INT AUTO_INCREMENT NOT NULL,
>>     tbl_uuid VARCHAR(64),
>>     name VARCHAR(255),
>>     number VARCHAR(255),
>>     address LONGTEXT,
>>     ship_to LONGTEXT,
>>     payment_term INT, INDEX payment_term__idx (payment_term), FOREIGN KEY 
>> (payment_term) REFERENCES lookup (id) ON DELETE CASCADE,
>>     forwarder LONGTEXT,
>>     destination VARCHAR(255),
>>     attn VARCHAR(255),
>>     phone VARCHAR(255),
>>     fax VARCHAR(255),
>>     email VARCHAR(255),
>>     bl_telex_released VARCHAR(255),
>>     orig_docs_to LONGTEXT,
>>     doc_requirements LONGTEXT,
>>     special_instructions LONGTEXT,
>>     shipping_marks LONGTEXT,
>>     is_active CHAR(1) NOT NULL DEFAULT 'T',
>>     created_on DATETIME,
>>     created_by INT, INDEX created_by__idx (created_by), FOREIGN KEY 
>> (created_by) REFERENCES auth_user (id) ON DELETE CASCADE,
>>     modified_on DATETIME,
>>     modified_by INT, INDEX modified_by__idx (modified_by), FOREIGN KEY 
>> (modified_by) REFERENCES auth_user (id) ON DELETE CASCADE,
>>     PRIMARY KEY(id)
>> ) ENGINE=InnoDB CHARACTER SET utf8;
>> timestamp: 2012-12-22T14:18:50.404571
>> CREATE TABLE customer_archive(
>>     current_record INT, INDEX current_record__idx (current_record), FOREIGN 
>> KEY (current_record) REFERENCES customer (id) ON DELETE CASCADE,
>>     id INT AUTO_INCREMENT NOT NULL,
>>     tbl_uuid VARCHAR(64),
>>     name VARCHAR(255),
>>     number VARCHAR(255),
>>     address LONGTEXT,
>>     ship_to LONGTEXT,
>>     payment_term INT, INDEX payment_term__idx (payment_term), FOREIGN KEY 
>> (payment_term) REFERENCES lookup (id) ON DELETE CASCADE,
>>     forwarder LONGTEXT,
>>     destination VARCHAR(255),
>>     attn VARCHAR(255),
>>     phone VARCHAR(255),
>>     fax VARCHAR(255),
>>     email VARCHAR(255),
>>     bl_telex_released VARCHAR(255),
>>     orig_docs_to LONGTEXT,
>>     doc_requirements LONGTEXT,
>>     special_instructions LONGTEXT,
>>     shipping_marks LONGTEXT,
>>     is_active CHAR(1) NOT NULL DEFAULT 'T',
>>     created_on DATETIME,
>>     created_by INT, INDEX created_by__idx (created_by), FOREIGN KEY 
>> (created_by) REFERENCES auth_user (id) ON DELETE CASCADE,
>>     modified_on DATETIME,
>>     modified_by INT, INDEX modified_by__idx (modified_by), FOREIGN KEY 
>> (modified_by) REFERENCES auth_user (id) ON DELETE CASCADE,
>>     PRIMARY KEY(id)
>> ) ENGINE=InnoDB CHARACTER SET utf8;
>> success!
>>
>>
>>
>>
>> On Saturday, December 22, 2012 1:56:28 PM UTC-5, Massimo Di Pierro wrote:
>>>
>>> Specifically let me know:
>>> - after upgrade, do you see a migration in sql.log?
>>> - does everything seem to work or you get a ticket?
>>>
>>> Masimo
>>>
>>> On Saturday, 22 December 2012 12:30:25 UTC-6, Adi wrote:
>>>>
>>>> do you mean: db._common_fields.append(auth.signature)
>>>>
>>>> i have it, and can test now
>>>>
>>>> On Saturday, December 22, 2012 12:44:06 PM UTC-5, Massimo Di Pierro 
>>>> wrote:
>>>>>
>>>>> If you have fields with auth.signature and mysql/pgsql could you help 
>>>>> me test the latest trunk?
>>>>>
>>>>> The reason is that I changed the is_active field from notnull=False to 
>>>>> notnull=True. This should trigger a migration of your data. I want to 
>>>>> make 
>>>>> sure nothing breaks.
>>>>>
>>>>> Can you confirm this is ok?
>>>>>
>>>>> Massimo
>>>>>
>>>>

-- 



Reply via email to