Setting up DB with EFCore?

I am trying to migrate a DB to railway. I used to use SQLite with EFCore (I am in a C# .NET environment) , but after reading other threads I have heard it is discouraged so I am trying to transition from SQLite to postgres. I have an empty postgres DB running in my project and I took the URL and tried to run dotnet ef database update but I keep getting this error:

System.ArgumentException: Format of the initialization string does not conform to specification starting at index 0.

27 Replies

465462e9-fa14-41fc-8798-1f21e3c51faa


2 years ago

the URL might not be in the format that the client wants, can you show me the URL format that is expected?


postgresql://myusername:mypassword@localhost:5432/mydatabase

maybe this?


I guess that is different from the private url


2 years ago

that would be the format the databases do come with, but what does your client expect the format to be?


i am unsure of what you mean


ok I uised A NpgsqlConnectionStringBuilder to fix the formatting issue, but now I have something which I am unsure of how to about


System.Net.Sockets.SocketException (11001): No such host is known. which is correct but how do I run the command inside of railway?


2 years ago

are you attempting to the the private url locally?


oh snap…



yaaay thanks I now have tables on rail but can I ask also, do you have any suggesitons to input a mass amount of data?


since I am trying to move my db


2 years ago

well where is this data coming from?


the db is currently on my pc (this is all a test environment before I migrate the real thing)


2 years ago

what kind of db


a sqlite db


currently but I am trying to convert it to a postgress one


2 years ago

off the top of my head I'm not aware of any solutions to copy data from sqlite to postgres


2 years ago

I'm sure that's something someone has done before so do some research on the topic


While trying to read my data from a deployment on railway, I am getting the error:
System.ArgumentNullException: Value cannot be null.
from the line:

Environment.GetEnvironmentVariable("DATABASE_PRIVATE_URL");

which made me realize the variables on the postgres db cannot be seen from the other service (the actual bot) is there a way I am supposed to go about this?


2 years ago

yep! you want to be using reference variables, the docs for that are here along with an example -


hmm, so if my postgres db was called Postges
I would use Postges.DATABASEPRIVATEURL


2 years ago

almost, you do need the surrounding characters - ${{Postges.DATABASE_PRIVATE_UR}}


Oh I see, that part is in railway


I now have a connection


2 years ago

awsome


Loading...