Comments (4)
Is there any way to change sql.NullString
to *string
? I use pointers to deal with null values as it is the cleanest solution.
from xo.
No, not at the moment. I am in the middle of planning for a large (almost total) rewrite of xo, and there has been a lot of requests in general for better ways to specify / override the types that xo generates. As such, in the future I envision there will be significantly better ways to provide these options to xo in the future. At the moment, I would just suggest building your own, modified version locally and using that instead. Changing specific types for a database is relatively easy/straightforward, simply modify the appropriate loader for your database (in the loaders
directory).
from xo.
This isn't really an issue with xo -- you would have this problem no matter the way you chose to generate (or manually wrote) types for your models. Unfortunately, the json.Marshal
and json.Unmarhsal
aren't directly compatible with the sql.Null<Type>
types.
You could write the json.Marshaler
and json.Unmarshaler
interfaces for the model types that would work with the types generated by xo. If you do, you could add that to the xo template.
It should be noted that directly marshaling a JSON type into a database model is a bad idea for non-trivial applications.
from xo.
Thanks for your quick response and suggestions. I've wound up instead adding NOT NULL DEFAULT ''
to the various varchar/text fields. So, xo now casts them as string
, rather than sql.NullString
, which works great for what I wanted.
from xo.
Related Issues (20)
- How to generate postgres functions under schema other than public
- xo schema scan is failing. HOT 1
- BPMN HOT 1
- Could you add the Comment of each Field of migration table to generated xo files ? HOT 6
- Can I generate only struct? (without CRUD methods)
- [Bug] array type is not generated correctly for integer array in case of postgres HOT 1
- error: createdb: unable to import package: 1:22: import "createdb" error: unable to find source related to: "createdb" HOT 5
- invalid memory address or nil pointer dereference
- Procedure code generation may have issues HOT 1
- _exists field in code generated code
- Not run go 1.19.5 on windows HOT 1
- run xo fails on windows os HOT 7
- Unable to run because of createdb error HOT 2
- [Question] List all Indexes from table inside typedef template HOT 1
- "LIMIT %%limit int%%" in MySQL
- Does xo support camelcase json tags? HOT 3
- Postgres foreign keys not working if name is the same HOT 2
- Postgres insert/update RETURNING HOT 1
- Type mapping HOT 1
- Custom types... again HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xo.