| | | 
StrataFrame Novice
       
Group: StrataFrame Users Last Login: Today @ 9:52:32 AM Posts: 119, Visits: 637 |
| | I imported a VFP database to DDT, made the necessary corrections and created a SQL database. All went well. Then realized I didn't want clustered UID pks. Made the change in DDT but DDT could not uncluster the indexes ( error said they had to be dropped and recreated and DDT didn't seem to want to do that ) Okay, so I used T-SQL to drop all constraints, keys etc on all the tables in the sql dbc. Then I recreated all the pks as non-clustered. Now I wanted to reimport into DDT. Decided to do it into a different project. i think that is where it started to go wrong. All the structure came over and the indexes came over but they are just unique constraints - not primary keys and will not accept a default value of NEWID() They show up as primary in the field list but the index 
If I try to add NEWID() as a default value I get DataLayerSavingException The INSERT statement conflicted with the FOREIGN KEY constraint "fk_indexes_indexfields". The conflict occurred in database "StrataFrame", table "dbo.DBEIndexes", column 'idx_pk'. The statement has been terminated. SqlException The INSERT statement conflicted with the FOREIGN KEY constraint "fk_indexes_indexfields". The conflict occurred in database "StrataFrame", table "dbo.DBEIndexes", column 'idx_pk'. The statement has been terminated. I haven't had this problem with my other databases I tried completely deleting all the DDT projects connected with this database and then importing to a new project in DDT but get the same result. To test this : I created a new database called Testit. One table Names ( ckey UID, cname char(10) ) Created PK on ckey Imported into a new DDT project and got the same result. pk_ckey is Unique Constraint, not PK Am I doing something wrong or is this a bug? Don't think I had this problem in 1.6 |
| | | | 
StrataFrame Developer

Group: StrataFrame Developers Last Login: Today @ 11:54:01 AM Posts: 4,104, Visits: 4,177 |
| | I may have missed something, but I am not having a problem. I checked the Primary Key option on the ckey field and it created the index for me. 
If you then look at the index, it has created the clustered index properly. 
Please let me know if I am not understanding your problem. Thanks.  |
| | | | 
StrataFrame Novice
       
Group: StrataFrame Users Last Login: Today @ 9:52:32 AM Posts: 119, Visits: 637 |
| I think I just complicated the problem with the way I asked the question  The problem is not going from DDT to deployment, but in importing an existing SQL DB Please try this : Create SQL database Testit. Create 1 table Names ( ckey UID, cname CHAR(10)) Put PK on ckey ( seems to not matter if clustered or non-clustered ) do this directly in SQL Server, not through DDT Now create a new project in DDT and import Testit. Look at index node and notice it is a Unique Constraint. Try to put a NEWID() default value on ckey What results do you get? |
| | | | 
StrataFrame Developer

Group: StrataFrame Developers Last Login: Today @ 11:54:01 AM Posts: 4,104, Visits: 4,177 |
| | I will try to set this up and test it later. One question though, if you manually delete the index then modify the structures for the table then click Save, it should re-create the index for you. Does the index get created properly after the save? |
| | | | 
StrataFrame Novice
       
Group: StrataFrame Users Last Login: Today @ 9:52:32 AM Posts: 119, Visits: 637 |
| | In the DDT project for the sample I outlined above if I delete the Index under the index node the ckey field remains checked as primary but on save a true pk index is in the node as it should be and all is well. I think that in 1.6 - my first exposure to DDT when I was testing everything - importing the test database I outlined above would have created a pk index without problems. I'll be curious to know if anyone who still has 1.6 can confirm that or what results you get in running the test against 1.61 ( understand - these nit pickings are small ones - the DDT is one of the most incredible tools i've experienced in 25 years of playing with databases. I'm currently talking it up in the VFP community as a must-have even if you aren't doing .NET. ) TIA |
| | | | 
StrataFrame Novice
       
Group: StrataFrame Users Last Login: Today @ 9:52:32 AM Posts: 119, Visits: 637 |
| | This seems to be a UID issue. If I create a table with an integer identity primary key it imports as expected. Create exactly the same thing with a UID as pk and the key become a unique constraint instead of a pk I'm pretty sure this is a bug . |
| | | | 
StrataFrame Developer

Group: StrataFrame Developers Last Login: Today @ 11:54:01 AM Posts: 4,104, Visits: 4,177 |
| | Charles, Thanks for all of your kind words. We will look into this. Thanks for the info. |
| | | | 
StrataFrame Novice
       
Group: StrataFrame Users Last Login: Today @ 9:52:32 AM Posts: 119, Visits: 637 |
| | Have you had any luck reproducing this? UID pks are definitely not importing correctly from SQL 2005 databases into DDT |
| | | | 
StrataFrame Developer
 |
| |
|