![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mój plik schema.yml wygląda tak: Kod propel: _attributes: { package: lib.model } users: _attributes: { phpName: User } id: login: varchar(50) password: varchar(32) user_type_id: { type: integer, primaryKey: true, required: true, foreignTable: user_types, foreignReference: id, onDelete: cascade } user_types: _attributes: { phpName: UserType } id: name: varchar(100) Oczywiście generuje on plik sql o takiej treści (używam sterownika do postgresa: pgsql)
gdy chcę załadować plik do bazy danych występuje taki błąd: Kod NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "users_pkey" for table "users" ERROR: relation "user_types" does not exist Oczywiście błąd rozumiem, wszystko wróciłoby do normy gdybym deklaracje tych dwóch powyższych tabel zamienił miejscami. Jednak mam pytanie. Czy istnieje jakiś przełącznik, lub jakiś inny sposób aby plik sql, tworzący schemat bazy danych zawierał na początku pliku deklaracje tabel a na samym końcu wszelkie ADD CONSTRAINT? Chodzi o to, że stworzyłem dość spory plik schema.yml i nie wiem co zrobić, aby poprawnie załadować plik sql do bazy danych. (Oczywiście chodzi mi o rozwiązania inne niż zmiana kolejności deklaracji tabel) Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Ja bym najpierw zdefiniował tabelę user_type, a dopiero później user - nie wiem dlaczego się przed tym tak wzbraniasz.
I tak jak napisał ~jupeter - lepiej nazywaj encje rzeczownikami w liczbie pojedynczej. Dlaczego? Gdyż później otrzymasz w DAO możesz otrzymać metody ze zdublowanym "s" na końcu. Np. *JoinUserss (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) inna sprawa, że np. w przypadku Category uzyskasz i tak niepoprawne *Categorys (zamiast *Categories) no ale jednak *ss bardziej razi (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 17:22 |