Upgrading to Rails 5: Solving NoEnvironmentInSchemaError

I’ve been upgrading Simplero to Rails 5 over the past few days. Since I have a running application with customers all over the world, I’m going to do that on a branch and test it thoroughly until I’m prettty certain everything works.

 

So while that’s going on, I find myself switching between my Rails 4.2 branch and the Rails 5 branche.

 

And this would cause my automated builds on Jenkins to start failing with this error:

 

rails aborted!
ActiveRecord::NoEnvironmentInSchemaError: 

Environment data not found in the schema. To resolve this issue, run: 

	bin/rails db:environment:set RAILS_ENV=test

It took me quite a while to figure out what needed to happen, since this is not documented very well in neither the code nor elsewhere that I found.

This feature depends on a magic table existing in your database, named “ar_internal_metadata”. This table has one row, which contains the key ‘environment’ and the value ‘test’ in this case. The goal is to prevent you from accidentally dropping your production database, thinking it was the test database.

The problem occurred, because I was switching back to the Rails 4.2 branch, and while there, Rails would save the db/schema.rb file, which would now include the ar_internal_metadata table, but with an incorrect definition. Next time Jenkins ran my Rails 5 tests, it would find that table, and thus not create it, but it wouldn’t work, because the primary key was created as an int(11) and not a varchar(255).

The solution was to write a small line of code that just removes that table from the test database, if it exists, before starting the test suite. The line looks like this:

mysql -e 'DROP TABLE ar_internal_metadata;' simplero_test || true

 The last || true part is so Jenkins doesn’t fail if the table doesn’t exist.

So if you run into something similar, now you know what’s going on.

1 comment

The Calvin Show Episode #8: When Are You Out of Integrity?

Being in integrity is one of those life habits that impacts everything.

In its essence, it’s pretty simple: You honor your word, you honor your commitments, you honor your boundaries, you plug the leaks and close the holes. You become whole.

If you make a promise, you keep it. If you owe money, you pay them back.

Once you get in the habit of living this way, you’ll feel the energy and strength and character build up inside of you.

It can feel painful or scary or uncomfortable in the moment, but you’re always the better for it.

As always, I want to hear your comments, questions, suggestions, and opinions! Email me, comment on the blog, share the video, and as always, chill the fuck out.

Some fun moments from the show:

1:00 — Ari says “My balls and my word is all I have”
3:30 — When coincidence happens, it’s important to pay attention
7:50 — The first time someone asked me if I’m impeccable with my word
9:45 — I found this to be a useful question to ask people when I meet them…why, you ask?
15:34 — Being impeccable with your word never ends up being a problem, even if it’s scary up front

1 comment

The Calvin Show Episode #7: Simplicity

The Calvin Show has returned.

We filmed at night this time, so I have some fun night lighting to haunt things up a bit.

Our topic isn’t haunting though, it’s simple. It’s simplicity, actually.

In this video I talk with Ari about the necessity for simplicity in my life, and how I find complexity totally draining.

I think there’s some good stuff in here, but I want to know what you think! Email me and let me know.

 

Here are some fun moments from the show:

0:20 — I choose the topic today…simplicity
2:00 — Insisting on simplicity is the only thing that’s ever worked for me
4:30 — Ari asks me if there was a time when I was doing something too complex and I had to step away to see the simple solution (hint: yes)
6:00 — If the solution is complicated, it means you’re not looking at the problem right.
10:00 — I have dyslexia for complexity. My brain can’t do it.

0 comments

The Calvin Show Episode #6: How I Started Simplero (and some other stuff)

Episode 6 has arrived!

In this episode, I talk with Ari about my path to starting Simplero.

Like much of what I talk about, the philosophies I espouse and the principles that have truly brought me success are not just what I’ve found in books or heard from other people. Not to say that external input isn’t useful, but success didn’t come to me until I figured out what I actually wanted.

Simplero came into existence because I stopped listening to the noise of the world and started listening to myself. It wasn’t rocket surgery. And it worked.

I’d love to hear any stories you might have about experiencing something similar, so please comment and share!

Some fun moments from the show:

0:50 — Question: How did Simplero get started?
1:23 — I explain to Ari what a TRS-80 was. (Raise your hand if you knew the answer!!)
2:55 — I thought I would be Bill Gates-level successful by 30…and was a bit put-out when that didn’t happen
4:30 — There’s nothing you have to prove to anyone. Not even yourself.
7:10 — Being in tune with what life was presenting to me, and what I really wanted, was the a-ha moment that started it all
12:25 — How I decided on the name Simplero
13:00 — Hi Periscope viewers!!!

I hope you enjoy the episode. If you have questions, send them to us and we’ll answer in the video!

1 comment

The Calvin Show Episode #5: Allowing Ourselves to Get Well

We’re on to Episode 5.

Ari and I have both been sick, so today’s conversation centers around how to allow ourselves the time and space to get well.

For so long, I pushed myself even if I didn’t feel good because my self esteem was tied to my “productivity.” Productivity is in quotes there for a reason. It took me almost 40 years to move beyond this state of mind, and I would love to share with you how I did it.

If this resonates with you, please leave a comment on the blog and share with your friends!

Some fun moments from the show:

2:25 — Question: How do you allow yourself the time and the space to get well?
4:41 — We all have things we have to get done, but I mostly spend my time doing things I want to do.
5:28 — I have A-days and B-days…what are those, you ask???
10:00 — The more relaxed you are, the more effective you’ll be if shit hits the fan
15:05 — If we JUST pay attention to how we feel, we make better decisions for ourselves

If you have any questions or comments about the show, send ’em my way!

2 comments

The Calvin Show Episode #4: Why I Moved to New York

As you may know, I lived here (in New York) from 1999 until right before 9/11, where I moved to San Francisco, and shortly after that, I moved to Denmark. Ever since I’ve basically been wanting to move back to NY.

A couple of years ago it finally happened, and I’m grateful every day.

Having to work hard for something can really help you appreciate it more.

Troels recently asked me what I got out of moving to New York, and I’ve got the answer for you right here in today’s episode of The Calvin Show.

Some fun moments from the show:

0:14 — First rule of fight club
0:45 — Question: Why did you move to New York?
3:00 — My parents were both programmers…I’m child of geeks!
5:56 — Only in retrospect can we see the Resistance we have
10:21 — What changed when I started to dream in English
11:39 — You get to see the view from my apartment!

 

6 comments

The Calvin Show Episode #3: Daily Routines

Episode 3 of The Calvin Show is up.

Today, we’re tackling a question from Troels about my daily routines: What am I doing now, how have they changed over time, what’s worked, and what hasn’t.

It was another fun episode to “tape”, and I hope the energy and enthusiasm and fun translates through the interwebs.

We’ve also started live periscoping while taping, so if you want to tune in for that, follow me on Twitter or, I guess, on Periscope. Hey, technology!

Here are few fun moments from this episode:

0:45 — The Question
1:00 — The Answer
2:55 — Apple Watches actually aren’t silly
3:48 — Why I have a Today List not a to-do list
5:35 — Ari takes a sip of coffee
8:25 — I reveal my super-secret efficient email system
11:48 — Sometimes when you’re doing big, creative projects you need to clear your calendar

PS. Don’t worry, if video is not your thing. I’ll be writing text-only stuff again in the future. I’m just pretty obsessed with video right now.

0 comments

The Calvin Show Episode #2: Time Management

Hot off (or on) the heels of episode one, we bring you … ta-daaa!!! … episode TWO!

This one features a question about time management that brings us on several interesting detours. It’s not what you think.

So with that, let’s just get right on into it:

Some great moments in the video:

0:45 — The Question
1:00 — The Answer
3:30 — The importance of following the energy
6:41 — I take a drink of water
8:30 — Final mega-huge, life-changing, super-tip!

I would love to hear your reactions! Please leave a comment on the blog and don’t forget to subscribe to the Youtube channel!

Love, Calvin

0 comments

The Calvin Show Launches: Burning Questions (about Burning Man)

I’m back after a break of a few weeks where I have, amongst other things, had my close friend Ulf visit from Denmark, thrown a legendary cocktail and music jam party at my place, gone skiing twice (and realizing I find it pretty boring, actually), been sick, made music, started organizing a Simplero conference in New York in May, been besnoggled in with a cold, and … I’ve started doing a video show with my buddy Ari.

My last email was asking y’all for questions that you’d like me to answer. We got quite a few, and the first episode is an answer to Troels Wittrup‘s question: What did you get out of attending burning man?

It’s a great question, because burning man was definitely a life-changing experience for me, with three specific life-changing outcomes that are still with me every single day today, 18 months later.

Watch the episode right here to find out how:

Remember to subscribe to my YouTube channel.

Sign up for my newsletter right here. The most juicy insider stuff only happens in email.

.

First name:
Email:

 

And do leave a comment. I love hearing from you.

See you soon.

Lots of love,
–Calvin

0 comments

Expansion, Then Contraction

Here’s something I frequently notice:

I’ll be going through something expanding. Recently, I’m discovering what it means to lead. Something I’ve never quite understood, and let’s just say, that as a leader (and husband and father and human being), that’s a pretty critical thing to get. It was such a revelation, and suddenly things that had puzzled me for years became clear. Things I’d struggled with where no longer a struggle. It felt so great and easy to step into that role. Massive expansion.

And then, immediately, the fear of losing it sets in. It felt so easy, what if it was a fluke? What if it wasn’t really something I did, something within my control? What if it was just a happy accident, and now I’m back to my old ways?

Immediately I start to contract, I want to control things, instead of that easy flowing expansive place I was in, I’m slowly but surely sinking into a contracted, fearful place, which is the complete opposite of the energy I so desperately wanted to hold on to.

And thus, my attempt at holding on to what was so great caused me to lose it.

This is a pattern that happens over and over again, If we’re not aware of it, and consciously choose to surrender to what is, and to allow the state that we wish to happen naturally without trying to control it, we’ll be guaranteed to lose it.

That to me is actually the beauty of it all. When life feels like you’re riding a wave. In order for that to happen, you have to be willing to be in-between waves from time to time without making a drama about it.

As always, the Buddha said it best: Not too tight, not too loose.

 

2 comments